package aynu.hd.Hotel.Dao;

import aynu.hd.pojo.Orders;
import aynu.hd.pojo.Room;
import aynu.hd.pojo.Schedule;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface scheduleDao {
    //根据房间号查找评价信息
    List<Schedule> queryRoomComment(String room_id);

    //根据用户和房间id查找预定房间有没有
    Schedule queryScheduleByUser(@Param("user_id") Integer user_id, @Param("id") String id);

    //添加预定信息
    void addScheduleRoom(@Param("user_id") Integer user_id, @Param("id") String id);

    //根据用户查找预定房间信息
    List<Schedule> queryScheduleRoom(Integer user_id);

    //根据id删除预定选项
    void removeSchedule(String schedule_id);

    //根据预定id查找预定房间信息
    Schedule queryScheduleById(String schedule_id);

    //更新预定房间信息的预定数量，并且和订单关联
    void updateScheduleDaoRoomCount(@Param("num") String num, @Param("schedule_id") String schedule_id, @Param("orders_id") Integer orders_id);

    //根据id查找订单信息
    Orders queryOrdersById(String order_id);

    //根据订单查询预定的房间
    Schedule queryScheduleByOrderId(Integer orders_id);

    //查询用户未支付订单全部信息
    List<Schedule> queryScheduleByUserId(@Param("user_id") Integer user_id, @Param("state") String state);

    //根据订单id删除预定信息
    void removeScheduleByOrderId(Integer orders_id);

    //对房间进行评论（评论信息放在预定中）
    void addComment(Schedule schedule);

    //根据房间id删除预定房间（还没有产生订单）
    void removeScheduleByRoomId(String room_id);
}
